package org.eclipse.egf.example.task.h3;

import org.eclipse.core.runtime.Platform;
import org.eclipse.egf.common.activator.EGFAbstractPlugin;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;

/**
 * The activator class controls the plug-in life cycle
 */
public class Activator extends EGFAbstractPlugin {

  // The shared instance
  private static Activator plugin;

  /*
   * (non-Javadoc)
   * 
   * @see
   * 
   * 
   * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
   * )
   */
  @Override
  public void start(BundleContext context) throws Exception {
    super.start(context);
    plugin = this;
    logInfo("org.eclipse.egf.example.task.h3 is starting"); //$NON-NLS-1$
  }

  /*
   * (non-Javadoc)
   * 
   * @see
   * 
   * 
   * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
   * )
   */
  @Override
  public void stop(BundleContext context) throws Exception {
    Bundle bundle = Platform.getBundle("org.eclipse.swt"); //$NON-NLS-1$
    if (bundle.getState() == Bundle.ACTIVE) {
      logInfo("org.eclipse.egf.example.task.h3 is stopping"); //$NON-NLS-1$
    }
    plugin = null;
    super.stop(context);
  }

  /**
   * Returns the shared instance
   * 
   * @return the shared instance
   */
  public static Activator getDefault() {
    return plugin;
  }

}
